package com.medical.system.custom;

import com.medical.system.util.MD5Helper;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;

@Component
public class CustomMd5PasswordEncoder implements PasswordEncoder {
    /**
     * @ 方法描述 : 编码，将rawPassword用MD5加密
     * @ 作者 : 风花雪月
     * @ 时间 : 2024/7/23 17:11
     * @ 参数 : [charSequence]
     * @return: java.lang.String
     **/
    @Override
    public String encode(CharSequence rawPassword) {
        return MD5Helper.encrypt(rawPassword.toString());
    }

    /**
     * @ 方法描述 : 配对，比较前端传递的密码是否与SQL数据库相同，结果为boolean型
     * @ 作者 : 风花雪月
     * @ 时间 : 2024/7/23 17:11
     * @ 参数 : [charSequence, s]
     * @return: boolean
     **/
    @Override
    public boolean matches(CharSequence rawPassword, String sqlPassword) {
        return sqlPassword.equals(MD5Helper.encrypt(rawPassword.toString()));
    }
}
